package chixing.day10.singleton;


/*
 * 单例模式  singleton
 * */
public class Bank {
    //在类加载的时候，创建了Bank对象，（类加载只执行一次所以只创建一次，即 该类变量 只会执行一次）
    //加上private是因为不能让外部直接访问并改变bank的值
    private static Bank bank = new Bank();

    //设为private，不让外部调用构造函数，如果是public外部就可以new多个对象，
    private Bank(){}

    /*
    给外部提供一个方法，用来获得Bank对象，且必须只能通过  类名调用该方法Bank.getBankInstance()
    static修饰，因为他要获得对象，所以肯定不能用对象调用，只能通过 类名.方法名  调用所以设为类方法
    getBankInstance()/getInstance(),获得对象（可能时新的对象，或同一份）
    newInstance(),创建了一个新的对象
    * */
    public static Bank getBankInstance(){
        return bank;
    }

    private void fun(){
        System.out.println("hhhh");
    }
}
